Fric-frac AdminController PHP
Home

Fric-frac AdminController PHP

Fric-frac AdminController PHP

Per entiteit maken we controllerklasse. We volgen hier ook de gewoonte die in ASP.NET MVC gevolgd wordt.
  1. Volgens de afspraken binnen ASP.NET MVC staat deze controllerklasse in een bestand met de naam Controllers/AdminController.php. En nog volgens die conventie, staan controller bestanden in de map Controllers in de webroot (zie: Conventie boven configuratie). De namespace is ModernWays\Controllers:
    <?php
    /**
     * Created by ModernWays
     * User: Jef Inghelbrecht
     * Date: 13/04/2019
     * Time: 13:32
     */
    namespace ModernWays\Controllers;
    
    class AdminController extends \ModernWays\Controller
    {
    }
  2. Voorlopig implementeren hier maar 1 actiemethode, namelijk de methode die de Index view in het browservenster laadt, met de naam index:
  3. Test
    1. pas het index.php bestand aan:
      1. include het controller bestand in het index.php bestand. De andere controllerbestanden hebben we nu niet nodig en heb in commentaar geplaatst:
        include ('Controllers/AdminController.php');
        
      2. Stel de redirect-url standaard in op Admin/index. Dan wordt bij het opstarten van de browser automatisch de Index view van Admin geladen:
        $redirectUrl = 'Admin/index';
      3. link de css bestanden
      4. geef een titel op in het title element
      5. voor een footer element toe
      6. voeg de klassennaam tower toe aan het body element en floor aan het main element
    2. De volledige code voor index.php
      <?php
      include ('vendor/modernways/src/Controller.php');
      include ('vendor/modernways/src/Dal.php');
      include ('vendor/modernways/src/Helpers.php');
      //include ('Controllers/StudentController.php');
      //include ('Controllers/EventCategoryTestController.php');
      //include ('Controllers/EventTopicTestController.php');
      include ('Controllers/AdminController.php');
      
      if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
          setlocale(LC_ALL, 'nld_nld');
      } else {
          setlocale(LC_ALL, 'nlb');
      }
      
      $redirectUrl = 'Admin/index';
      if (isset($_SERVER['REDIRECT_URL'])) {
          $redirectUrl = $_SERVER['REDIRECT_URL'];
      }
      ModernWays\Controller::dispatch($redirectUrl, 'ModernWays');
      $view = ModernWays\Controller::invokeAction();
      ?>
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width" />
          <link type="text/css" rel="stylesheet" href="/css/app.css">
          <link type="text/css" rel="stylesheet" href="/css/iconfont.css">
          <title>Fric-frac PHP</title>
      </head>
      <body class="tower">
          <main class="floor">
              <?php $view(); ?>
          </main>
          <footer>
              <p class="copy">concept & design - Red Mind 2017-2018</p>
              <p><a href="/Admin/Index">Beheer</a></p>
             <div class="vcard">
                  <h3>Contact</h3> <p class="fn org">a n<span>orm</span> apart</p>
                  <div class="adr">
                      <div class="street-address">Braziliëstraat 38</div>
                      <div class="postal-code">2000</div> <div class="locality">Antwerpen</div>
                      <div class="country-name">België</div>
                  </div>
              </div>
          </footer>
      </body>
      </html>
    3. Run de app. Je hoeft niets meer na de url in te typen.
    4. Dit is het resultaat zonder CSS:
      Fric-frac View Admin-Index no CSS
      Fric-frac View Admin-Index no CSS
    5. Dit is het resultaat in landscape:
      Fric-frac View Admin-Index
      Fric-frac View Admin-Index
    6. Dit is het resultaat in protrait.
      Fric-frac View Admin-Index Portrait
      Fric-frac View Admin-Index Portrait
      Let erop dat de informatieve tegels nu allemaal onderaan gegroepeerd staan. Dan hebben we met de volgende CSS stijlregels gedaan:
      .show-room.index .tile:nth-child(3) {
          order: 8;
      }
      
      .show-room.index .tile:nth-child(4) {
          order: 9;
      }
      
      .show-room.index .tile:nth-child(7) {
          order: 10;
      }

JI
2020-04-04 13:08:12